package com.smart.manager.system.entities.models;

import com.smart.common.entities.core.BaseLongModel;
import com.smart.manager.system.entities.enums.AccountType;
import io.ebean.annotation.DbArray;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.Entity;
import java.util.List;

/**
 * 系统管理-接口功能
 * system_api
 */
@EqualsAndHashCode(callSuper = true)
@Entity @Data @Accessors(chain = true)
public class SystemRole extends BaseLongModel {


    /**
     * 角色代码
     */

    @ApiModelProperty("角色代码")

    private String code;
    /**
     * 角色名称
     */

    @ApiModelProperty("角色名称")

    private String name;
    /**
     * 是否是超级管理员
     */
    @ApiModelProperty("是否是超级管理员")
    private Boolean supperRole;

    @ApiModelProperty("角色适用账号类型")
    private AccountType accountType ;
    /**
     * 包含的菜单ID集合
     */
    @ApiModelProperty("包含的菜单ID集合")
    @DbArray
    private List<Long> menuIds;
    /**
     * 权限表达式集合
     */

    @ApiModelProperty("权限表达式集合")
    @DbArray
    private List<String> apiTokens;
    /**
     * 角色描述
     */

    @ApiModelProperty("角色描述")
    private String description;

}
